package com.zjsru.plan2024.oneday;

/**
 * 3238. 求出胜利玩家的数目
 *
 * @Author: cookLee
 * @Date: 2024-11-24
 */
public class WinningPlayerCount {

    /**
     * 主
     * \
     * 输入：n = 4, pick = [[0,0],[1,0],[1,0],[2,1],[2,1],[2,0]]
     * <p>
     * 输出：2
     * <p>
     * 解释：
     * <p>
     * 玩家 0 和玩家 1 是胜利玩家，玩家 2 和玩家 3 不是胜利玩家。
     * \
     * 输入：n = 5, pick = [[1,1],[1,2],[1,3],[1,4]]
     * <p>
     * 输出：0
     * <p>
     * 解释：
     * <p>
     * 没有胜利玩家。
     * \
     *
     * @param args args
     */
    public static void main(String[] args) {
        WinningPlayerCount winningPlayerCount = new WinningPlayerCount();
        int n = 4;
        int[][] pick = new int[][]{
                {0, 0},
                {1, 0},
                {1, 0},
                {2, 1},
                {2, 1},
                {2, 0}
        };
        System.out.println(winningPlayerCount.winningPlayerCount(n, pick));
    }

    /**
     * 获胜玩家计数
     *
     * @param n    n
     * @param pick 拾取
     * @return int
     */
    public int winningPlayerCount(int n, int[][] pick) {
        //最多十个球
        int[][] count = new int[n + 1][11];
        for (int[] p : pick) {
            count[p[0]][p[1]]++;
        }
        int ans = 0;
        for (int i = 0; i < n; i++) {
            //最多十个球
            for (int j = 0; j <= 10; j++) {
                //当前人的球有一份大于其编号即可
                if (count[i][j] > i) {
                    ans++;
                    //满足一次条件就好
                    break;
                }
            }
        }
        return ans;
    }

}
